package com.efast.cafe.portal.service.common;

import java.util.List;

import com.efast.cafe.portal.bean.common.PortalTagCountBean;
import com.efast.cafe.portal.bean.common.PortalTagEntityCountBean;
import com.efast.cafe.portal.bean.common.PortalTagListCountBean;
import com.efast.cafe.portal.bean.common.PortalTagMapBean;
import com.efast.cafe.portal.bean.common.PortalTagPostParamBean;
import com.efast.cafe.portal.entity.common.PortalTagMap;
import com.efast.cafe.portal.remote.common.PortalTagService;

public interface IPortalTagService extends PortalTagService{

	/**
	 * flag为true的时候，倒叙查询使用频率最高的6条tag，flag为false的时候，查询当前企业的该用户的所有tag
	 * @Date        :      2017年9月25日
	 * @param flag
	 * @return
	 */
	public List<PortalTagCountBean> queryTagsCount(boolean flag,String referenceId);
	
	public List<PortalTagEntityCountBean> queryTagsMapCount(String tagName);
	
	public List<PortalTagMapBean> queryTagsMapDetail(List<String> tagName,String entityName);
	/**
	 * 插入tags
	 * @param bean tag信息
	 * @param entityName
	 * @param entityId 实体表单id
	 */
	public void saveTags(PortalTagPostParamBean bean);
	
	public List<PortalTagMap> queryTagByEntity(String entityName,Integer entityId);
	
	/**
	 * 新增tag
	 * @Date        :      2017年9月25日
	 * @param portalTagMap
	 * @return
	 */
	public int insertTags(PortalTagMap portalTagMap);
	
	/**
	 * 删除tag
	 * @Date        :      2017年9月25日
	 * @param portalTagMap
	 * @return
	 */
	public void delTags(Integer tagId);
	
	/**
	 * 查询我的tags
	 * @Date        :      2017年9月25日
	 * @param flag
	 * @return
	 */
	public PortalTagListCountBean queryTagsListCount(boolean flag);
}
